Day 10|Sensitive Information Disclosure 怎麼防?
前面兩篇介紹了敏感資訊洩漏是什麼,以及為什麼 LLM 可能把不該透露的資料說出來。最後就來看看,我們可以怎麼降低這個風險。
在資料送進模型之前,可以先進行 Data Sanitization(資料淨化),例如將姓名、電話、Email、API Key 等敏感資料遮蔽或移除。
LLM 能存取的資料,不應該比使用者本身的權限更多。
例如員工只能查看自己部門的文件,AI 也應該受到相同的限制,而不是因為接上 RAG,就可以查到整個公司的資料。
核心概念就是:
使用者能看到什麼,AI 就只能幫他取得什麼。
我們可能會在 System Prompt 中告訴 AI:
「不要提供密碼或公司機密。」
但這種限制本身並不是完整的安全機制,仍可能被 Prompt Injection 等方式繞過。
因此,真正重要的還是 Application 層的權限與資料控管。
即使資料已經送進 LLM,也不代表模型輸出的內容一定安全。
Application 可以在回應送給使用者之前,再檢查是否包含敏感資訊,必要時進行遮蔽或阻擋。
最後可以把 LLM02 的防禦思維濃縮成一句話:
不要只要求 AI「不要洩漏」,而是從資料、權限到輸出建立完整的安全控制。
這樣即使模型出現預期外的行為,也能降低敏感資訊真正被洩漏出去的機會。